#include<iostream>
#include<random>
#include<sstream>
#include <iomanip>
#include <atomic>
static std::string CreateUuid(){
    std::random_device rd;//rd作为一个随机数引擎，可以随机生成一个机器随机数，但它的效率很低，如果生成太多，整体效率会下降很多
    std::mt19937_64   gernator(rd());//使用一个mt19937_64对象来高效生成随机数，使用rd()产生的数作为随机种子，生成一个随机序列
    std::uniform_int_distribution<int> distribution(0,255);
    std::stringstream str_river;

    for(int i;i<8;i++){
        str_river<<std::setw(2)<<std::setfill('0')<<std::hex<<distribution(gernator);
        if(i==3||i==5||i==7)
        {
            str_river<<"-";
        }
    }
    
    static std::atomic<size_t> seq(1);
    size_t un_num=seq.fetch_add(1);
    for(int i=7;i>=0;i--){
        str_river<<std::setw(2)<<std::setfill('0')<<std::hex<<((un_num>>(i*8)) & 0xff);
        if(i==6){
            str_river<<"-";
        }
    }
  
    return str_river.str();

}
